package com.kele.dao;

import com.kele.domain.Blog;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface BlogDao {

    /**
     * 查询所有博客
     * @return
     */
   List<Blog> findBlogs();

    /**
     * 根据博客id查询博客
     * @param id
     * @return
     */
   Blog queryBlogById(int id);

    /**
     * 根据类型查询博客信息
     * @param field
     * @return
     */
  List<Blog> findByTitle(@Param("field")String field);

    /**
     * 删除博客对象
     * @param id
     * @return
     */
   int deleteBlog(int id);

    /**
     * 点赞+1
     * @param bid
     * @return
     */
   int addThumbsUp(int bid);

    /**
     * 点赞-1
     * @param bid
     * @return
     */
    int subThumbsUp(int bid);

    /**
     * 博客发表在数据库里
     * @param blog
     * @return
     */
    Integer addBlog(Blog blog);

    /**
     * 热度+1---点进去文章就会加一个热度
     * @param id
     * @return
     */
    int addDoh(int id);

    /**
     * 根据博客id查找文章
     *
     */
    Blog findById(int bid);

    /**
     * 展示博客内容到主页面
     * @return
     */
    List<Blog> showBlogs();

    /**
     * 记录当前博主发布的博客数量
     */
    int countArticle(String blogger);

    /**
     * 收藏+1
     * @param id
     * @return
     */
    int addCollection(int id);

    /**
     * 点赞-1
     * @param id
     * @return
     */
    int subCollection(int id);


   /**
    * 博主下遍历博客
    * @param blogger
    * @return
    */
   List<Blog> findBlogsByBlogger(String blogger);

}

